package gmat.intr
/**
 * @author Aram Altschudjian
 *
 */

public interface Matrix{	final static all = jmat.intr.Matrix.all	def make(List data)	def zeros(List sizes)	def ones(List sizes)	def zeros(int... sizes)	def ones(int... sizes)	def init(Object defaultValue, List sizes)	def init(Object defaultValue, int... sizes)	def data(Object matrix)
	def data()	def val()	def entries()	def indices()	def leftShift(List data)	def leftShift(jmat.intr.Matrix data)	def leftShift(gmat.intr.Matrix data)	def getAt(Object address)	def getAt(Object... address)	def getAt(String address)	def rightShift(List address)	def putAt(Object address, Object entry)	def putAt(String address, Object entry)	def find(Object entry)	def nfind(Object entry)	def count(Object entry)	def setDim(int dimensions)	def getDim()	def setSize(List sizes)	def setSize(int... sizes)	def size()
	def size(int dimension)	def list()	def unique()	def isEmpty()	def equals(Matrix candidate)	def rows()	def cols()	def pages()	def max()	def maxIndex()	def min()	def minIndex()	def sum()	def sumAll()	def plus(Matrix matrix)	def plus(Number number)	def minus(Matrix matrix)	def minus(Number number)	def multiply(Matrix matrix)	def multiply(Number number)	def div(Matrix matrix)	def div(Number number)	def log()	def subFrom(Number minuend)	def extend(int dimension, int amount)	def delete(int dimension, Object address)	def delete(int dimension, Object... address)	def delete(List address)	def delete(Object... address)	def setOrder(int dimension, List order)	def setOrder(int dimension, int... order)
	def addDim(int size, int index)
	def setName(int dimension, int index, String name)
	def setNames(int dimension, Map nameToIndexMap)
	def getNames(int dimension)
	def resolve(int dimension, String address)	def convert(int address)	def convert(List address)	def convert(Object... address)	String toString()
}
